d38a0e6e13d16dbfc1ea4717008b2b238e899a57,plugins/groovy/src/org/jetbrains/plugins/grails/fileType/GroovyInjector.java,MyLanguageInjector,getLanguagesToInject,#PsiLanguageInjectionHost#InjectedLanguagePlaces#,62

Before Change


        if (end == -1)
          return;

        injectionPlacesRegistrar.addPlace(GroovyFileType.GROOVY_FILE_TYPE.getLanguage(), new TextRange(start + 2, end), "", ";");
      }
    }
  }

After Change


      final Language groovyLanguage = GroovyFileType.GROOVY_FILE_TYPE.getLanguage();
      if (host instanceof PsiLiteralExpression && host.getParent() instanceof PsiExpressionList) {
        final PsiExpression[] args = ((PsiExpressionList) host.getParent()).getExpressions();
        if (host == args[0]) {
          final PsiElement pparent = host.getParent().getParent();
          if (pparent instanceof PsiMethodCallExpression) {
            final PsiMethodCallExpression call = (PsiMethodCallExpression) pparent;
            final String refName = call.getMethodExpression().getReferenceName();
            if (PARSE_NAME.equals(refName) || EVAL_NAME.equals(refName)) {
              final PsiMethod method = call.resolveMethod();
              if (method != null) {
                final PsiClass clazz = method.getContainingClass();
                if (clazz != null) {
                  if (GROOVY_SHELL_QNAME.equals(clazz.getQualifiedName())) {
                    injectionPlacesRegistrar.addPlace(groovyLanguage, new TextRange(1, host.getTextLength() - 1), "", "");
                  }
                }
              }